package cn.ld.module.system.service.notice;

import cn.ld.framework.common.pojo.PageResult;
import cn.ld.module.system.controller.admin.notice.vo.NoticePageInVO;
import cn.ld.module.system.controller.admin.notice.vo.NoticeSaveInVO;
import cn.ld.module.system.dal.entity.notice.NoticeEntity;

/**
 * 通知公告 Service 接口
 */
public interface NoticeService {

    /**
     * 创建通知公告
     *
     * @param createInVO 通知公告
     * @return 编号
     */
    Long createNotice(NoticeSaveInVO createInVO);

    /**
     * 更新通知公告
     *
     * @param inVO 通知公告
     */
    void updateNotice(NoticeSaveInVO inVO);

    /**
     * 删除通知公告
     *
     * @param id 编号
     */
    void deleteNotice(Long id);

    /**
     * 获得通知公告分页列表
     *
     * @param inVO 分页条件
     * @return 部门分页列表
     */
    PageResult<NoticeEntity> getNoticePage(NoticePageInVO inVO);

    /**
     * 获得通知公告
     *
     * @param id 编号
     * @return 通知公告
     */
    NoticeEntity getNotice(Long id);

}
